<div :title="value.hasOwnProperty('tip') ? value.tip : undefined">
  <!-- 自定义属性值显示 -->
  <div v-if="prop.hasOwnProperty('specific')" :is="prop.specific.componentName" :value="value" :prop="prop"/>
  <!-- map value-->
  <ol v-else-if="value.value && value.showType == 'map'">
    <li v-for="entry in value.value">
      <div>
        <i>key:</i>
        <a v-if="entry.key.ref" :href="'${rootPath}/' + entry.key.beanUrl">{{entry.key.beanName}}</a>
        <span v-else>{{entry.key.toString}}</span>
      </div>
      <div>
        <i>value:</i>
        <a v-if="entry.value.ref" :href="'${rootPath}/' + entry.value.beanUrl">{{entry.value.beanName}}</a>
        <span v-else>{{entry.value.toString}}</span>
      </div>
    </li>
  </ol>

  <!-- list or array value-->
  <ol v-else-if="value.value && value.showType == 'list'">
    <li v-for="item in value.value">
      <a v-if="item.ref" :href="'${rootPath}/' + item.beanUrl">{{item.beanName}}</a>
      <span v-else>{{item.toString}}</span>
    </li>
  </ol>

  <!-- bean reference value-->
  <a v-else-if="value.beanRef" :href="'${rootPath}/' + value.beanRef.beanUrl">{{value.beanRef.beanName}}</a>

  <!-- number or boolean origin value -->
  <!-- note: 当boolean 值为false的时候不会不这里-->
  <span v-else-if="value.hasOwnProperty('originValue')">{{value.originValue}}</span>

  <!-- value toString-->
  <span v-else>{{value.toString}}</span>
</div>